interface TriFunctor <FABC, FR, A, B, C, R> Source #
Functor type-class
interface TriFunctor <FABC, FTUV, A, B, C, T, U, V> Source #
Functor type-class
method FR trimap <TriFunctorABC, FABC, FR, A, B, C, R> (FABC ma, Func<A, R> fa, Func<B, R> fb, Func<B, R> fc) Source #
Projection from one tri-functor to another. This operation should map only one of the items (A, B, or C). The type R should match A, B, or C depending on which item is being mapped.
type | FABC | Source functor value type |
type | FR | Target functor value type |
type | A | Source item 1 value type |
type | B | Source item 2 value type |
type | C | Source item 3 value type |
type | R | Target item value type |
param | ma | Functor value to map from |
param | fa | Projection function |
param | fb | Projection function |
returns | Mapped functor |
method FTUV trimap <TriFunctorABC, FABC, FTUV, A, B, C, T, U, V> (FABC ma, Func<A, T> fa, Func<B, U> fb, Func<C, V> fc) Source #
Projection from one value to another. All three elements of the tri-functor can will be mapped to a new result value.
type | FABC | Source functor value type |
type | FTUV | Target functor value type |
type | A | Source item 1 value type |
type | B | Source item 2 value type |
type | C | Source item 3 value type |
type | T | Target item 1 value type |
type | U | Target item 2 value type |
type | V | Target item 3 value type |
param | ma | Functor value to map from |
param | fa | Projection function |
param | fb | Projection function |
param | fc | Projection function |
returns | Mapped functor |